資料傳輸物件Data Transfer Object(DTO) 簡介


我們進行資料撈取時
獲得的是所有資料表的紀錄所有的欄位
轉成一筆紀錄record/entity/po
資料表如果有建立程式關聯就有可能觸發其他紀錄撈取的發生
是屬於Lazy/Eager方式被觸發,可能因不同的時間點資料內容不預期被更新。
因此也可能導致傳輸至控制器層(Controller)會有無法序列化的可能性

為了不提供沉於資訊
降低其他欄位的輸出
採用規範單純、容易建立,且網路應用系統或是系統與系統間資料傳遞很常採取的一種資料模式DTO
是屬於靜態的,不同的時間點資料內容不會自行被更新。
傳輸至控制器層會依據原定義方式進行資料處理

以下為常建的說明詞彙

Item ShortCase Native
Input VO Input/VI View Object Input
BO Business Object
Repository DAO Data Access Object
Entity PO Persistan Object
DTO Data Transfer Object
Output VO Output/VO View Object Output
POJO Plain Ordinary Object

看每個人使用習慣,或公司喜好
Input、Output、DTO、Entity是我習慣的詞彙
其實都是為了我們好溝通的

當然也可以嚴謹的分層抽離控制器與服務層之間的耦合,採取外觀模式(Facade Pattern)

偷懶的話有時候沒有分那麼系就視情況開DTO混用了

這不是一個給新手的一個教學過程,也寫的不是很完整
希望大家多多包涵囉~
主要是給自己的一個紀錄,也分享給有需要的夥伴
這是一個心血來潮,產生的文章
若有喜歡或交流的部分都歡迎在下方留言,多多關照。

#dto







你可能感興趣的文章

Firebase iOS (2) 實作帳號登入篇

Firebase iOS (2) 實作帳號登入篇

0o 設定我的第三台 Macbook o0

0o 設定我的第三台 Macbook o0

使用 Golang 打造 Discord 機器人 (一)

使用 Golang 打造 Discord 機器人 (一)






留言討論